package com.app.oral.dao

import com.app.oral.model.ClassInfo
import org.apache.ibatis.annotations.Mapper

@Mapper
interface ClassMapper {
    
    /**
     * 获取所有班级列表，按年级和班级名称排序
     */
    fun findAllClasses(): List<ClassInfo>
    
    /**
     * 根据年级获取班级列表
     */
    fun findClassesByGrade(grade: Int): List<ClassInfo>
    
    /**
     * 根据ID获取班级信息
     */
    fun findById(id: Long): ClassInfo?
    
    /**
     * 创建新班级，参数Map包含grade和className，执行后insertedId会被设置
     */
    fun insertClass(params: MutableMap<String, Any>): Int
    
    /**
     * 删除班级
     */
    fun deleteById(id: Long): Int
    
    /**
     * 检查指定年级和班级名称是否已存在
     */
    fun existsByGradeAndClassName(grade: Int, className: String): Boolean
}